from
17 (standard for MFM controllers) to 25 (Adaptec controllers) or
26 (Western Digital and others).
IS THERE A SCSI DRIVER FOR MINIX?
The following info applies only to PCs.
All SCSI controllers work differently, from the primitive Seagate ST01,
to the smarter Always IN-2000, and Adaptec with it's own on-board CPU.
Magnus Doell has released his driver for the ST-02, and James da
Silva has written one for the Adaptec 154X. They can be found
on plains.nodak.edu
in, respectively,
- pub/Minix/pc/scsi07a.tar.Z
- pub/Minix/usenet/1991.Jul/ahascsi1.0.shar
The ROM wini driver should also run most SCSI controllers but you
lose protected mode capability.
Amiga Minix has support for Commodore SCSI hard disks in the v1.5.10.1
update.
Minix-386-vm also includes a SCSI driver.
WHAT TAPE DRIVES WORK WITH MINIX?
Minix comes from Prentice Hall with no support for tape drives.
For the PC, James da Silva has written a SCSI driver
for Adaptec 154X type controllers. This driver
provides support for SCSI tape drives; there are reports of
people successfully using it with Archive Viper tape drives
(NB: not all Archive Viper drives have a SCSI interface!)
THE SINGLE THREADED FILESYSTEM IS A REAL BOTTLENCK.
True. It's only noticeable when you are running massive background
processes, or putting multiple users on your computer.
This "problem" has been recently "fixed" and the "solution" posted to
the net. See your nearby bit-bucket (archive site) for it!
You've got the source. Fix it.
Minix 1.5.10/PC runs on 80286 and 80386 systems using 80286 protected
mode (so all your memory is used for programs, rather than
as bankswitched memory "windows" or a big RAM disk).
There is an experimental 32-bit kernel from Bruce Evans.
It is available from
sirius.ucs.adelaide.edu.au: pub/minix/local
plains.nodak.edu:pub/Minix/oz
There is also the Minix-386vm
package by Philip Homburg and Kees Bot. Some of its features are:
- Supports paging (so you can run programs larger than memory)
- Long (60 characters) file names.
- TCP/IP.
- Pseudo-Terminals
- Asynchroneous I/O.
- Many utilities replaced by better versions.
- X11R5.
For details, get the manual pages from
ftp.cs.vu.nl:/pub/Minix-386vm
ftp.vmars.tuwien.ac.at:/pub/minix/Minix-386vm
and read the usage.8 manual page.
I HAVE AN OLD VERSION OF MINIX. HOW CAN I UPGRADE?
You need to get an upgrade kit from one of the archive sites; see the
Minix Information Sheet for a (supposedly) complete list of sites
which archive Minix-related bits.
Also, read the Upgrading Tutorial -- it was meant to help.
WHAT SHELLS EXIST FOR MINIX?
- sh
- Your typical Bourne shell. Comes with distribution Minix
- clam
- Tcsh-like shell, runs under Minix & real Unix's. Available
from ftp sites sirius, ccadfa, plains & others
- ksh
- Korn shell, ported to Minix. Diffs for Minix on plains.
- marvin
- A kid's shell. Posted months ago in comp.os.minix.
- emacs
- Does this count as a shell? Works only under 68K-Minix's
and perhaps 386-Minix.
- tcsh
- The binaries for 68K-Minix and 386-Minix tcsh are available
from ftp.uni-koeln.de. The v6.02 tcsh source distribution
contains configuration information for 386-Minix systems.
IS THERE X-WINDOWS FOR MINIX?
Not for standard Minix. It would be difficult if not impossible
(that was meant as a challenge!) to put X on Minix because X is
huge. Unless you have many megabytes of memory, it would be
impossible to run X clients and servers on one machine. It
will also certainly require 32-bit mode operation.
Minix-386vm, however, does support X11R5.
Don't be fooled by Mini-X. This is just an EGA- or VGA-graphics
driver and a windowing library for Minix-PC. The API is similar to
X11 (but not identical), so porting X programs might be easy. It
is not possible to run several programs using it at once, however.
There is also a port of MGR, but I don't know about its current
status.
WHY CAN'T MY PC BOOT PC-MINIX FROM 1.44MB FLOPPY DISKS ?
There's a couple of reasons for this. First, straight out of the box,
MINIX doesn't plan on dealing with 1.44Mb floppy disks. The entries
in /dev should be set up specifically for your machine, so pick out
the correct entries here:
mknod /dev/fd0-dsdd5in b 2 4 360 # Drive A, 360K 5.25"
mknod /dev/fd0-dshd5in b 2 8 1200 # Drive A, 1.2M 5.25"
mknod /dev/fd0-dsdd3in b 2 16 720 # Drive A, 720K 3.5"
mknod /dev/fd0-dshd3in b 2 28 1440 # Drive A, 1.44M 3.5"
^^^ ^^
Change 'fd0' to 'fd1' and add 1 to the minor device number to create
an entry for floppy drive B. It may be a good idea to link the gener-
ic floppy disk entries (/dev/fd0 and /dev/fd1) to the proper
/dev/fd0-ds{whatever} entries for your machine, so that programs like
dosread continue to work.
All possible formats are:
mknod /dev/fd0 b 2 0 0 # Drive A, automatic
mknod /dev/pc0 b 2 4 360 # Drive A, 360K 5.25"
mknod /dev/at0 b 2 8 1200 # Drive A, 1.2M 5.25"
mknod /dev/qd0 b 2 12 360 # Drive A, 360K in a 720K 5.25"
mknod /dev/ps0 b 2 16 720 # Drive A, 720K 3.5" and 5.25"
mknod /dev/pat0 b 2 20 360 # Drive A, 360K in a 1.2M 5.25"
mknod /dev/qh0 b 2 24 720 # Drive A, 720K in a 1.2M 5.25"
mknod /dev/PS0 b 2 28 1440 # Drive A, 1.44M 3.5"
Second reason your PC won't boot from 1.44Mb floppy disks, even though
you've fixed up the floppy disk device entries: tools/bootblok.s
doesn't know about 1.44M disks, so it blindly loads the boot image in-
correctly and then tries to execute it. Get Guy Helmer's bootblok.s
from an archive site, or get shoelace.
WHAT'S WRONG WITH 'ps'?
You need to have a copy of the compiled kernel in
/usr/src/kernel/kernel, mm in /usr/src/mm/mm, and fs in /usr/src/fs/fs
for ps to read the namelist out of. The PC Minix compiler must have the
"-s" flag to build the symbol table. Note that this MUST be the SAME
kernel that is booted.
HOW IS THE FORK(2) SYSTEM CALL IMPLEMENTED ON THE 68K PROCESSORS
WITHOUT A MEMORY MANAGEMENT UNIT?
This is done by shadowing. This is copying the memory around as long
as both child and parent processes do exist. Although this seems very
expensive, it is not because most processes exec(2) almost immediately
after the fork(). But most terminal emulators who fork() en keep running
loose.
WHY IS KERMIT SO ABSURDLY SLOW UNDER MINIX-68k?
See the above question. Kermit forks so that one process listens to
the serial port and writes to the screen, and the other process
listens to the keyboard and writes to the serial port. Since the
second process never "exec's", the two processes are continually
swapped in and out of one memory slot.
IS THERE ALSO A 64K+64K LIMIT FOR MINIX 68K & MINIX 386?
For minix 68k, there isn't. For minix 386 there isn't provided you use
the proper compiler (This means no ACK)
DOES MINIX HAVE BERKELY JOB CONTROL?
No. Nor does it have its associated signals like SIGSTOP, SIGCONT etc.
DOES MINIX SUPPORT TCP/IP AND NFS?
Not out of the Box. TNET4 is a TCP/IP implementation for Minix-PC.
Minix-386vm includes TCP/IP (this is also available as patches
relative to Minix 1.6.25).
NFS does not exist.
WHY CAN'T I RECOMPILE KERMIT OR ELLE ON PC-MINIX 1.5?
You can't assemble Kermit or elle on a PC using Minix 1.5 or earlier;
asld reports an "out of space" error, which means it ran out of space
in the output object file. That is why the binaries are (certainly
were) on the P-H distribution. Those binaries were compiled by a dif-
ferent, more efficient compiler.
WHY AREN'T THE MANUALS ONLINE? WHERE CAN I GET THE MANUALS?
The online manuals are available via anonymous ftp from
ftp.vmars.tuwien.ac.at (128.130.39.16) in the file
/pub/minix/net/manpages.tar.Z.
To extract the manuals, ftp the
file binary-wise, uncompress it and extract using tar when you
are in your /usr/man directory. Each manual is in a separate
file, and to use the distribution 1.5 man(1) you will need to
read the source to man(1) to see how to create the single manual
file.
Alternatively, the source to a more Unix-like man(1) is available on
ccadfa in the file pub/minix/mansrc.Z. To extract the code, ftp
binary-wise, uncompress and unshar. Before compiling the code, modify
the header file to reflect your system setup. Compile the code. If you
are using less(1) as a pager, you will need to modify main.c in
nroff(1); instructions are included in mansrc.Z
WHAT IS THE DIFFERENCE BETWEEN THE 80386 AND THE 386sx?
There is no difference between 386sx/386dx except for the bus (24-bit
addresses and 16-bit data).
DOES MINIX SUPPORT MAIL/NEWS/UUCP?
As shipped from Prentice Hall, Minix 1.5 include only local Email, and
no Uucp nor Usenet News support. Various additional packages from the
net exist:
There are two UUCP implementations, by Fred van Kempen and by Will Rose.
Fred wrote an Email interface, UMail/WMail and a news software, WNews.
A BNews implementation and the Tass newsreader from alt.sources also
exist under Minix. All these packages are available via anonymous FTP
from archive sites.
WHY IS THE DIRECTORY ON PLAINS CALLED "oz" INSTEAD OF 386
Plains maintains several "shadows" of other sites. To allow easy
automatic updating of packages from the remote sites, we place
everything from that site in a directory reminiscent of that site's
name. To absorb the remote site's files into the local directory
structure would frustrate this, and it probably wouldn't happen.
WHERE CAN I GET THE NEW ANSI C COMPILER?
(from Andy Tanenbaum's posting <13286@star.cs.vu.nl> 11 Mar 92)
There are three compilers available:
- ANSI C, conforming to ANS X3.159-1989
- Modula-2, conforming to
"Report on The Programming Language Modula-2", in "Programming in
Modula-2, 3rd ed." by Niklaus Wirth, Springer-verlag, 1983
- Pascal confrming to level 1 of BSI standard BS 6192: 1982 (ISO 7185),
with a few small exceptions
Also, a Modula-2 makefile generator and some utilities for handling
relocatable object files are included (aal, nm, size, strip, etc).
Complete libraries for ANSI C, Pascal, and Modula 2 are provided.
This package is available in 4 different versions:
- 5.25" DS/DD floppies for 8088/286/386 (4 360K floppies);
- 5.25" DS/HD floppies for 8088/286/386 (1 1.2M floppy);
- 3.5" DS/DD floppies for 8088/286/386 (2 720K floppies);
- 3.5" DS/DD floppies for Commodore Amiga or Atari ST (2 720K floppies).
Many problems with the old Minix C compiler have been resolved:
- All versions have separate as and ld programs. Asld is gone.
- Floating point is now supported
- Library is greatly improved and is ANSI conformant
- A program aal is provided to manage libraries (ranlib-like)
The package is available from two companies:
Transmediair Products & Support B.V. Unipress Software
Box 297 2025 Lincoln Highway
3720 AG Bilthoven Edison, NJ 08817
The Netherlands U.S.A.
Tel: +31 30 281820 Tel: +1 908 287 2100
FAX: +31 30 292294 FAX: +1 908 287 4929
Email: msk@unipress.com
Transmediair charges US $200,- for the 4 floppy PC version, US $150,-
for the other versions. Unipress charges US $199,- for all versions.
BUT THERE *IS* AN AMIGA DEMO DISK!
It can be found on Fish disk 525. Fish disks are available at ftp
sites carrying Amiga stuff. They should also be available from various
Amiga groups and retailers.
IS THERE A WAY TO BOOT FROM A MINIX FILE SYSTEM (ON FLOPPY OR HARD
DISK?
There are at least three utilities to do this. They all put the image
to be booted from into a normal file on a Minix file system and change
the boot block, so that it can read a file from a Minix FS and start
it.
Shoelace is the oldest of these utilities. It includes a lot of bells
and whistles (you can check a file system, load the components of
Minix seperately, start a debugger before Minix, so you can debug
Minix at start up, ...), but is a little slow and a little difficult
to set up. I have been using it for a long time now and am quite happy
with it.
MXboot. Sorry, don't know anything about it, except that it exists.
Boot Monitor: This is currently the official boot tool (i.e., it is
included in 1.6.25). Faster and simpler than shoelace, and depends less
on hardware. Lets you build nice menues to boot from several kernels,
set boot options, boot from other partitions, etc. It also understands
the new file system types.
I HAVE A 16MB PC, BUT MINIX RUNS OUT OF MEMORY WHILE BOOTING. WHY?
Minix counts memory in 256 byte units and uses a 16-bit variable to do
this. So if you have 16MB of RAM, an overflow will occur and Minix will
think you have no memory at all and refuse to work. Use the universal
boot disk to boot, then look for the line
ext_memsize = get_ext_memsize();
in /usr/src/kernel/cstart.c and insert something like
if (ext_memsize >= 15360) ext_memsize = 15359;
after it and build a new system. Alternately you can upgrade to
Minix 1.6.25
or Minix-386vm, which don't have this problem.
WHAT ARE THE MINIMUM HARDWARE REQUIREMENTS FOR MINIX?
Theoretically you can run it on an XT with 512kB RAM and 2 floppies.
Unless you are particularly fond of juggling disks, you would want at
least 20MB on a hard disk, though.
A 286 will give you memory protection and the ability to use more the
640k of memory. 2MB are recommended.
If you have a 386 and decide to use one of the 32-bit kernels, you
should have at least 4MB RAM. For Minix-386vm
60MB of hard disk are probably the minimum, if you want to keep
the sources online.